package com.xiyu.service.convert.office;

import com.xiyu.service.vo.office.building.BuildingSimpleUnitGetOutput;
import com.xiyu.service.vo.office.building.BuildingSingleGetOutput;
import com.xiyu.service.vo.office.building.BuildingSimpleFloorGetOutput;
import com.xiyu.service.model.office.building.OfficeBuildingFloor;
import com.xiyu.service.model.office.building.OfficeBuildingUnit;
import com.xiyu.service.vo.office.building.BuildingUpdateInput;
import com.xiyu.service.vo.office.building.BuildingCreateInput;
import com.xiyu.service.vo.office.building.BuildingPageQueryOutput;
import com.xiyu.service.model.office.building.OfficeBuilding;
import java.util.*;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 办公楼管理 Convert
 */
@Mapper
public interface BuildingConvert {
    BuildingConvert INSTANCE = Mappers.getMapper(BuildingConvert.class);


    List<BuildingPageQueryOutput> pageQueryOutputConvert(List<OfficeBuilding> output);

    OfficeBuilding createInputConvert(BuildingCreateInput input);

    OfficeBuilding updateInputConvert(BuildingUpdateInput input);

    OfficeBuildingUnit updateInputConvert(BuildingUpdateInput.buildingUnit input);

    OfficeBuildingFloor updateInputConvert(BuildingUpdateInput.buildingFloor input);

    BuildingSingleGetOutput singleGetOutputConvert(OfficeBuilding output);

    List<BuildingSimpleFloorGetOutput> simpleFloorGetOutputConvert(List<OfficeBuildingFloor> output);

    List<BuildingSimpleUnitGetOutput> simpleUnitGetOutputConvert(List<OfficeBuildingUnit> output);

}
